package ar.com.seminario.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import ar.com.seminario.common.persistence.dao.GenericDao;
import ar.com.seminario.model.SolicitudCandidato;

/**
 * Clase de acceso a datos para la entidad {@link SolicitudCandidato}.
 * 
 * @author Pablo Lamas
 * 
 */

public class SolicitudCandidatoDao extends GenericDao<SolicitudCandidato, Long> {

	@SuppressWarnings("unchecked")
	public List<SolicitudCandidato> getSolicitudesCandidatosByIdSolicitud(Long idSolicitudIngreso) {

		final Criteria criteria = this.getSession().createCriteria(SolicitudCandidato.class);
		return (List<SolicitudCandidato>) criteria.add(Restrictions.eq("solicitudIngreso.id", idSolicitudIngreso))
				.list();

	}
	
	public SolicitudCandidato getSolicitudesCandidatosByIdSolicitudAndCandidatoId(
			Long solicitudIngresoId, Long candidatoId) {
		
		final Criteria criteria = this.getSession().createCriteria(SolicitudCandidato.class);
		criteria.add(Restrictions.and(Restrictions.eq("candidato.id", candidatoId), 
				Restrictions.eq("solicitudIngreso.id", solicitudIngresoId)));
		
		return (SolicitudCandidato)criteria.uniqueResult();
		
	}

}
